/////////////////////////////////////////////////////////////////////
//
// OposFptr.h
//
//   Fiscal Printer header file for OPOS Applications.
//
// Modification history
// ------------------------------------------------------------------
// 1998-03-06 OPOS Release 1.3                                   PDU
// 2001-07-15 OPOS Release 1.6                                   TNN
//   Add values for all 1.6 added properties and method
//   parameters
// 2004-03-22 OPOS Release 1.8                                   CRM
//   Add more values for StatusUpdateEvent.
// 2007-01-30 OPOS Release 1.11                                  CRM
//   Add values for 1.11.
// 2008-08-30 OPOS Release 1.12                                  CRM
//   Add values for ActualCurrency and CountryCode.
// 2011-04-07                                                    EPO
//   Converted to Pascal by Eric Orilla
//
/////////////////////////////////////////////////////////////////////

unit oposfptr;

interface

const

/////////////////////////////////////////////////////////////////////
// Fiscal Printer Station Constants
/////////////////////////////////////////////////////////////////////

  FPTR_S_JOURNAL                     : Longint     = 1;
  FPTR_S_RECEIPT                     : Longint     = 2;
  FPTR_S_SLIP                        : Longint     = 4;

  FPTR_S_JOURNAL_RECEIPT             : Longint     = 3;


/////////////////////////////////////////////////////////////////////
// "ActualCurrency" Property Constants
/////////////////////////////////////////////////////////////////////

  FPTR_AC_BRC                        : Longint     =  1;
  FPTR_AC_BGL                        : Longint     =  2;
  FPTR_AC_EUR                        : Longint     =  3;
  FPTR_AC_GRD                        : Longint     =  4;
  FPTR_AC_HUF                        : Longint     =  5;
  FPTR_AC_ITL                        : Longint     =  6;
  FPTR_AC_PLZ                        : Longint     =  7;
  FPTR_AC_ROL                        : Longint     =  8;
  FPTR_AC_RUR                        : Longint     =  9;
  FPTR_AC_TRL                        : Longint     =  10;
  FPTR_AC_CZK                        : Longint     =  11;  // (added in 1.11)
  FPTR_AC_UAH                        : Longint     =  12;  // (added in 1.11)
  FPTR_AC_SEK                        : Longint     =  13;  // (added in 1.12)
  FPTR_AC_OTHER                      : Longint     =  200; // (added in 1.11)


/////////////////////////////////////////////////////////////////////
// "ContractorId" Property Constants
/////////////////////////////////////////////////////////////////////

  FPTR_CID_FIRST                     : Longint     =  1;
  FPTR_CID_SECOND                    : Longint     =  2;
  FPTR_CID_SINGLE                    : Longint     =  3;


/////////////////////////////////////////////////////////////////////
// "CountryCode" Property Constants
/////////////////////////////////////////////////////////////////////

  FPTR_CC_BRAZIL                     : Longint     =  $00000001;
  FPTR_CC_GREECE                     : Longint     =  $00000002;
  FPTR_CC_HUNGARY                    : Longint     =  $00000004;
  FPTR_CC_ITALY                      : Longint     =  $00000008;
  FPTR_CC_POLAND                     : Longint     =  $00000010;
  FPTR_CC_TURKEY                     : Longint     =  $00000020;
  FPTR_CC_RUSSIA                     : Longint     =  $00000040;
  FPTR_CC_BULGARIA                   : Longint     =  $00000080;
  FPTR_CC_ROMANIA                    : Longint     =  $00000100;
  FPTR_CC_CZECH_REPUBLIC             : Longint     =  $00000200; // (added in 1.11)
  FPTR_CC_UKRAINE                    : Longint     =  $00000400; // (added in 1.11)
  FPTR_CC_SWEDEN                     : Longint     =  $00000800; // (added in 1.12)
  FPTR_CC_OTHER                      : Longint     =  $40000000; // (added in 1.11)


/////////////////////////////////////////////////////////////////////
// "DateType" Property Constants
/////////////////////////////////////////////////////////////////////

  FPTR_DT_CONF                       : Longint     =  1;
  FPTR_DT_EOD                        : Longint     =  2;
  FPTR_DT_RESET                      : Longint     =  3;
  FPTR_DT_RTC                        : Longint     =  4;
  FPTR_DT_VAT                        : Longint     =  5;
  FPTR_DT_START                      : Longint     =  6; // (added in 1.11)


/////////////////////////////////////////////////////////////////////
// "ErrorLevel" Property Constants
/////////////////////////////////////////////////////////////////////

  FPTR_EL_NONE                       : Longint     =  1;
  FPTR_EL_RECOVERABLE                : Longint     =  2;
  FPTR_EL_FATAL                      : Longint     =  3;
  FPTR_EL_BLOCKED                    : Longint     =  4;


/////////////////////////////////////////////////////////////////////
// "ErrorState", "PrinterState" Property Constants
/////////////////////////////////////////////////////////////////////

  FPTR_PS_MONITOR                    : Longint     =  1;
  FPTR_PS_FISCAL_RECEIPT             : Longint     =  2;
  FPTR_PS_FISCAL_RECEIPT_TOTAL       : Longint     =  3;
  FPTR_PS_FISCAL_RECEIPT_ENDING      : Longint     =  4;
  FPTR_PS_FISCAL_DOCUMENT            : Longint     =  5;
  FPTR_PS_FIXED_OUTPUT               : Longint     =  6;
  FPTR_PS_ITEM_LIST                  : Longint     =  7;
  FPTR_PS_LOCKED                     : Longint     =  8;
  FPTR_PS_NONFISCAL                  : Longint     =  9;
  FPTR_PS_REPORT                     : Longint     = 10;


/////////////////////////////////////////////////////////////////////
// "FiscalReceiptStation" Property Constants
/////////////////////////////////////////////////////////////////////

  FPTR_RS_RECEIPT                    : Longint     =  1;
  FPTR_RS_SLIP                       : Longint     =  2;


/////////////////////////////////////////////////////////////////////
// "FiscalReceiptType" Property Constants
/////////////////////////////////////////////////////////////////////

  FPTR_RT_CASH_IN                    : Longint     =  1;
  FPTR_RT_CASH_OUT                   : Longint     =  2;
  FPTR_RT_GENERIC                    : Longint     =  3;
  FPTR_RT_SALES                      : Longint     =  4;
  FPTR_RT_SERVICE                    : Longint     =  5;
  FPTR_RT_SIMPLE_INVOICE             : Longint     =  6;
  FPTR_RT_REFUND                     : Longint     =  7; // (added in 1.11)

/////////////////////////////////////////////////////////////////////
// "MessageType" Property Constants
/////////////////////////////////////////////////////////////////////

  FPTR_MT_ADVANCE                    : Longint     =  1;
  FPTR_MT_ADVANCE_PAID               : Longint     =  2;
  FPTR_MT_AMOUNT_TO_BE_PAID          : Longint     =  3;
  FPTR_MT_AMOUNT_TO_BE_PAID_BACK     : Longint     =  4;
  FPTR_MT_CARD                       : Longint     =  5;
  FPTR_MT_CARD_NUMBER                : Longint     =  6;
  FPTR_MT_CARD_TYPE                  : Longint     =  7;
  FPTR_MT_CASH                       : Longint     =  8;
  FPTR_MT_CASHIER                    : Longint     =  9;
  FPTR_MT_CASH_REGISTER_NUMBER       : Longint     =  10;
  FPTR_MT_CHANGE                     : Longint     =  11;
  FPTR_MT_CHEQUE                     : Longint     =  12;
  FPTR_MT_CLIENT_NUMBER              : Longint     =  13;
  FPTR_MT_CLIENT_SIGNATURE           : Longint     =  14;
  FPTR_MT_COUNTER_STATE              : Longint     =  15;
  FPTR_MT_CREDIT_CARD                : Longint     =  16;
  FPTR_MT_CURRENCY                   : Longint     =  17;
  FPTR_MT_CURRENCY_VALUE             : Longint     =  18;
  FPTR_MT_DEPOSIT                    : Longint     =  19;
  FPTR_MT_DEPOSIT_RETURNED           : Longint     =  20;
  FPTR_MT_DOT_LINE                   : Longint     =  21;
  FPTR_MT_DRIVER_NUMB                : Longint     =  22;
  FPTR_MT_EMPTY_LINE                 : Longint     =  23;
  FPTR_MT_FREE_TEXT                  : Longint     =  24;
  FPTR_MT_FREE_TEXT_WITH_DAY_LIMIT   : Longint     =  25;
  FPTR_MT_GIVEN_DISCOUNT             : Longint     =  26;
  FPTR_MT_LOCAL_CREDIT               : Longint     =  27;
  FPTR_MT_MILEAGE_KM                 : Longint     =  28;
  FPTR_MT_NOTE                       : Longint     =  29;
  FPTR_MT_PAID                       : Longint     =  30;
  FPTR_MT_PAY_IN                     : Longint     =  31;
  FPTR_MT_POINT_GRANTED              : Longint     =  32;
  FPTR_MT_POINTS_BONUS               : Longint     =  33;
  FPTR_MT_POINTS_RECEIPT             : Longint     =  34;
  FPTR_MT_POINTS_TOTAL               : Longint     =  35;
  FPTR_MT_PROFITED                   : Longint     =  36;
  FPTR_MT_RATE                       : Longint     =  37;
  FPTR_MT_REGISTER_NUMB              : Longint     =  38;
  FPTR_MT_SHIFT_NUMBER               : Longint     =  39;
  FPTR_MT_STATE_OF_AN_ACCOUNT        : Longint     =  40;
  FPTR_MT_SUBSCRIPTION               : Longint     =  41;
  FPTR_MT_TABLE                      : Longint     =  42;
  FPTR_MT_THANK_YOU_FOR_LOYALTY      : Longint     =  43;
  FPTR_MT_TRANSACTION_NUMB           : Longint     =  44;
  FPTR_MT_VALID_TO                   : Longint     =  45;
  FPTR_MT_VOUCHER                    : Longint     =  46;
  FPTR_MT_VOUCHER_PAID               : Longint     =  47;
  FPTR_MT_VOUCHER_VALUE              : Longint     =  48;
  FPTR_MT_WITH_DISCOUNT              : Longint     =  49;
  FPTR_MT_WITHOUT_UPLIFT             : Longint     =  50;


/////////////////////////////////////////////////////////////////////
// "SlipSelection" Property Constants
/////////////////////////////////////////////////////////////////////

  FPTR_SS_FULL_LENGTH                : Longint     =  1;
  FPTR_SS_VALIDATION                 : Longint     =  2;


/////////////////////////////////////////////////////////////////////
// "TotalizerType" Property Constants
/////////////////////////////////////////////////////////////////////

  FPTR_TT_DOCUMENT                   : Longint     =  1;
  FPTR_TT_DAY                        : Longint     =  2;
  FPTR_TT_RECEIPT                    : Longint     =  3;
  FPTR_TT_GRAND                      : Longint     =  4;


/////////////////////////////////////////////////////////////////////
// "GetData" Method Constants
/////////////////////////////////////////////////////////////////////

// - "DataItem" Parameter.
  FPTR_GD_FIRMWARE                   : Longint     = 10; // 1: IdentificationData.
  FPTR_GD_PRINTER_ID                 : Longint     =  9; // 1: IdentificationData.

  FPTR_GD_CURRENT_TOTAL              : Longint     =  1; // 2: Total.
  FPTR_GD_DAILY_TOTAL                : Longint     =  2; // 2: Total.
  FPTR_GD_GRAND_TOTAL                : Longint     =  8; // 2: Total.
  FPTR_GD_MID_VOID                   : Longint     =  6; // 2: Total.
  FPTR_GD_NOT_PAID                   : Longint     =  5; // 2: Total.
  FPTR_GD_RECEIPT_NUMBER             : Longint     =  3; // 2: Total.
  FPTR_GD_REFUND                     : Longint     =  4; // 2: Total.
  FPTR_GD_REFUND_VOID                : Longint     = 12; // 2: Total.

  FPTR_GD_NUMB_CONFIG_BLOCK          : Longint     = 13; // 3: FiscalMemoryCount.
  FPTR_GD_NUMB_CURRENCY_BLOCK        : Longint     = 14; // 3: FiscalMemoryCount.
  FPTR_GD_NUMB_HDR_BLOCK             : Longint     = 15; // 3: FiscalMemoryCount.
  FPTR_GD_NUMB_RESET_BLOCK           : Longint     = 16; // 3: FiscalMemoryCount.
  FPTR_GD_NUMB_VAT_BLOCK             : Longint     = 17; // 3: FiscalMemoryCount.

  FPTR_GD_FISCAL_DOC                 : Longint     = 18; // 4: Counter.
  FPTR_GD_FISCAL_DOC_VOID            : Longint     = 19; // 4: Counter.
  FPTR_GD_FISCAL_REC                 : Longint     = 20; // 4: Counter.
  FPTR_GD_FISCAL_REC_VOID            : Longint     = 21; // 4: Counter.
  FPTR_GD_NONFISCAL_DOC              : Longint     = 22; // 4: Counter.
  FPTR_GD_NONFISCAL_DOC_VOID         : Longint     = 23; // 4: Counter.
  FPTR_GD_NONFISCAL_REC              : Longint     = 24; // 4: Counter.
  FPTR_GD_RESTART                    : Longint     = 11; // 4: Counter.
  FPTR_GD_SIMP_INVOICE               : Longint     = 25; // 4: Counter.
  FPTR_GD_Z_REPORT                   : Longint     =  7; // 4: Counter.

  FPTR_GD_TENDER                     : Longint     = 26; // 5: FixedFiscalPrinterText.

  FPTR_GD_LINECOUNT                  : Longint     = 27; // 6: Linecounter.

  FPTR_GD_DESCRIPTION_LENGTH         : Longint     = 28; // 7: DescriptionLength.

// - "OptArgs" Parameter, when "DataItem" is FPTR_GD_TENDER.
  FPTR_PDL_CASH                       : Longint     =  1;
  FPTR_PDL_CHEQUE                     : Longint     =  2;
  FPTR_PDL_CHITTY                     : Longint     =  3;
  FPTR_PDL_COUPON                     : Longint     =  4;
  FPTR_PDL_CURRENCY                   : Longint     =  5;
  FPTR_PDL_DRIVEN_OFF                 : Longint     =  6;
  FPTR_PDL_EFT_IMPRINTER              : Longint     =  7;
  FPTR_PDL_EFT_TERMINAL               : Longint     =  8;
  FPTR_PDL_TERMINAL_IMPRINTER         : Longint     =  9;
  FPTR_PDL_FREE_GIFT                  : Longint     = 10;
  FPTR_PDL_GIRO                       : Longint     = 11;
  FPTR_PDL_HOME                       : Longint     = 12;
  FPTR_PDL_IMPRINTER_WITH_ISSUER      : Longint     = 13;
  FPTR_PDL_LOCAL_ACCOUNT              : Longint     = 14;
  FPTR_PDL_LOCAL_ACCOUNT_CARD         : Longint     = 15;
  FPTR_PDL_PAY_CARD                   : Longint     = 16;
  FPTR_PDL_PAY_CARD_MANUAL            : Longint     = 17;
  FPTR_PDL_PREPAY                     : Longint     = 18;
  FPTR_PDL_PUMP_TEST                  : Longint     = 19;
  FPTR_PDL_SHORT_CREDIT               : Longint     = 20;
  FPTR_PDL_STAFF                      : Longint     = 21;
  FPTR_PDL_VOUCHER                    : Longint     = 22;

// - "OptArgs" Parameter, when "DataItem" is FPTR_GD_LINECOUNT.
  FPTR_LC_ITEM                        : Longint     =  1;
  FPTR_LC_ITEM_VOID                   : Longint     =  2;
  FPTR_LC_DISCOUNT                    : Longint     =  3;
  FPTR_LC_DISCOUNT_VOID               : Longint     =  4;
  FPTR_LC_SURCHARGE                   : Longint     =  5;
  FPTR_LC_SURCHARGE_VOID              : Longint     =  6;
  FPTR_LC_REFUND                      : Longint     =  7;
  FPTR_LC_REFUND_VOID                 : Longint     =  8;
  FPTR_LC_SUBTOTAL_DISCOUNT           : Longint     =  9;
  FPTR_LC_SUBTOTAL_DISCOUNT_VOID      : Longint     = 10;
  FPTR_LC_SUBTOTAL_SURCHARGE          : Longint     = 11;
  FPTR_LC_SUBTOTAL_SURCHARGE_VOID     : Longint     = 12;
  FPTR_LC_COMMENT                     : Longint     = 13;
  FPTR_LC_SUBTOTAL                    : Longint     = 14;
  FPTR_LC_TOTAL                       : Longint     = 15;

// - "OptArgs" Parameter, when "DataItem" is FPTR_GD_DESCRIPTION_LENGTH.
  FPTR_DL_ITEM                        : Longint     =  1;
  FPTR_DL_ITEM_ADJUSTMENT             : Longint     =  2;
  FPTR_DL_ITEM_FUEL                   : Longint     =  3;
  FPTR_DL_ITEM_FUEL_VOID              : Longint     =  4;
  FPTR_DL_NOT_PAID                    : Longint     =  5;
  FPTR_DL_PACKAGE_ADJUSTMENT          : Longint     =  6;
  FPTR_DL_REFUND                      : Longint     =  7;
  FPTR_DL_REFUND_VOID                 : Longint     =  8;
  FPTR_DL_SUBTOTAL_ADJUSTMENT         : Longint     =  9;
  FPTR_DL_TOTAL                       : Longint     = 10;
  FPTR_DL_VOID                        : Longint     = 11;
  FPTR_DL_VOID_ITEM                   : Longint     = 12;


/////////////////////////////////////////////////////////////////////
// "GetTotalizer" Method Constants
/////////////////////////////////////////////////////////////////////

  FPTR_GT_GROSS                      : Longint     =  1;
  FPTR_GT_NET                        : Longint     =  2;
  FPTR_GT_DISCOUNT                   : Longint     =  3;
  FPTR_GT_DISCOUNT_VOID              : Longint     =  4;
  FPTR_GT_ITEM                       : Longint     =  5;
  FPTR_GT_ITEM_VOID                  : Longint     =  6;
  FPTR_GT_NOT_PAID                   : Longint     =  7;
  FPTR_GT_REFUND                     : Longint     =  8;
  FPTR_GT_REFUND_VOID                : Longint     =  9;
  FPTR_GT_SUBTOTAL_DISCOUNT          : Longint     =  10;
  FPTR_GT_SUBTOTAL_DISCOUNT_VOID     : Longint     =  11;
  FPTR_GT_SUBTOTAL_SURCHARGES        : Longint     =  12;
  FPTR_GT_SUBTOTAL_SURCHARGES_VOID   : Longint     =  13;
  FPTR_GT_SURCHARGE                  : Longint     =  14;
  FPTR_GT_SURCHARGE_VOID             : Longint     =  15;
  FPTR_GT_VAT                        : Longint     =  16;
  FPTR_GT_VAT_CATEGORY               : Longint     =  17;


/////////////////////////////////////////////////////////////////////
// "AdjustmentType" arguments in diverse methods
/////////////////////////////////////////////////////////////////////

  FPTR_AT_AMOUNT_DISCOUNT              : Longint     =  1;
  FPTR_AT_AMOUNT_SURCHARGE             : Longint     =  2;
  FPTR_AT_PERCENTAGE_DISCOUNT          : Longint     =  3;
  FPTR_AT_PERCENTAGE_SURCHARGE         : Longint     =  4;
  FPTR_AT_COUPON_AMOUNT_DISCOUNT       : Longint     =  5; // (added in 1.11)
  FPTR_AT_COUPON_PERCENTAGE_DISCOUNT   : Longint     =  6; // (added in 1.11)


/////////////////////////////////////////////////////////////////////
// "ReportType" argument in "PrintReport" method
/////////////////////////////////////////////////////////////////////

  FPTR_RT_ORDINAL                    : Longint     =  1;
  FPTR_RT_DATE                       : Longint     =  2;
  FPTR_RT_EOD_ORDINAL                : Longint     =  3; // (added in 1.11)

/////////////////////////////////////////////////////////////////////
// "NewCurrency" argument in "SetCurrency" method
/////////////////////////////////////////////////////////////////////

  FPTR_SC_EURO                       : Longint     =  1;


/////////////////////////////////////////////////////////////////////
// "StatusUpdateEvent" Event: "Data" Parameter Constants
/////////////////////////////////////////////////////////////////////

  FPTR_SUE_COVER_OPEN                : Longint     =  11;
  FPTR_SUE_COVER_OK                  : Longint     =  12;
  FPTR_SUE_JRN_COVER_OPEN            : Longint     =  60;  // (added in 1.8)
  FPTR_SUE_JRN_COVER_OK              : Longint     =  61;  // (added in 1.8)
  FPTR_SUE_REC_COVER_OPEN            : Longint     =  62;  // (added in 1.8)
  FPTR_SUE_REC_COVER_OK              : Longint     =  63;  // (added in 1.8)
  FPTR_SUE_SLP_COVER_OPEN            : Longint     =  64;  // (added in 1.8)
  FPTR_SUE_SLP_COVER_OK              : Longint     =  65;  // (added in 1.8)

  FPTR_SUE_JRN_EMPTY                 : Longint     =  21;
  FPTR_SUE_JRN_NEAREMPTY             : Longint     =  22;
  FPTR_SUE_JRN_PAPEROK               : Longint     =  23;

  FPTR_SUE_REC_EMPTY                 : Longint     =  24;
  FPTR_SUE_REC_NEAREMPTY             : Longint     =  25;
  FPTR_SUE_REC_PAPEROK               : Longint     =  26;

  FPTR_SUE_SLP_EMPTY                 : Longint     =  27;
  FPTR_SUE_SLP_NEAREMPTY             : Longint     =  28;
  FPTR_SUE_SLP_PAPEROK               : Longint     =  29;

  FPTR_SUE_IDLE                      : Longint     =1001;


/////////////////////////////////////////////////////////////////////
// "ResultCodeExtended" Property Constants
/////////////////////////////////////////////////////////////////////

  OPOS_EFPTR_COVER_OPEN                   : Longint     = 201;
  OPOS_EFPTR_JRN_EMPTY                    : Longint     = 202;
  OPOS_EFPTR_REC_EMPTY                    : Longint     = 203;
  OPOS_EFPTR_SLP_EMPTY                    : Longint     = 204;
  OPOS_EFPTR_SLP_FORM                     : Longint     = 205;
  OPOS_EFPTR_MISSING_DEVICES              : Longint     = 206;
  OPOS_EFPTR_WRONG_STATE                  : Longint     = 207;
  OPOS_EFPTR_TECHNICAL_ASSISTANCE         : Longint     = 208;
  OPOS_EFPTR_CLOCK_ERROR                  : Longint     = 209;
  OPOS_EFPTR_FISCAL_MEMORY_FULL           : Longint     = 210;
  OPOS_EFPTR_FISCAL_MEMORY_DISCONNECTED   : Longint     = 211;
  OPOS_EFPTR_FISCAL_TOTALS_ERROR          : Longint     = 212;
  OPOS_EFPTR_BAD_ITEM_QUANTITY            : Longint     = 213;
  OPOS_EFPTR_BAD_ITEM_AMOUNT              : Longint     = 214;
  OPOS_EFPTR_BAD_ITEM_DESCRIPTION         : Longint     = 215;
  OPOS_EFPTR_RECEIPT_TOTAL_OVERFLOW       : Longint     = 216;
  OPOS_EFPTR_BAD_VAT                      : Longint     = 217;
  OPOS_EFPTR_BAD_PRICE                    : Longint     = 218;
  OPOS_EFPTR_BAD_DATE                     : Longint     = 219;
  OPOS_EFPTR_NEGATIVE_TOTAL               : Longint     = 220;
  OPOS_EFPTR_WORD_NOT_ALLOWED             : Longint     = 221;
  OPOS_EFPTR_BAD_LENGTH                   : Longint     = 222;
  OPOS_EFPTR_MISSING_SET_CURRENCY         : Longint     = 223;
  OPOS_EFPTR_DAY_END_REQUIRED             : Longint     = 224; // (added in 1.11)


implementation

end.
